41 Lecture
CS504
Midterm & Final Term Short Notes
Inspections vs. Testing
Inspections and Testing are two distinct quality assurance techniques in software development. Inspections involve manual code reviews to identify defects early in the development process. Testing, on the other hand, involves executing the softw
Important Mcq's
Midterm & Finalterm Prepration
Past papers included
Download PDF
1. What is the primary goal of software inspections?
a) Detecting defects during development
b) Executing test cases to validate functionality
c) Performing load and stress testing
d) Generating automated test scripts
Solution: a) Detecting defects during development
2. Inspections are considered a __________ technique, while Testing is considered a __________ technique.
a) Preventive, Corrective
b) Corrective, Preventive
c) Static, Dynamic
d) Dynamic, Static
Solution: c) Static, Dynamic
3. Which quality assurance technique requires the use of test data and test cases?
a) Inspections
b) Code Reviews
c) Testing
d) All of the above
Solution: c) Testing
4. What is the primary focus of software inspections?
a) Reviewing code for correctness and adherence to coding standards
b) Validating the functionality of the software
c) Identifying performance bottlenecks
d) Detecting security vulnerabilities
Solution: a) Reviewing code for correctness and adherence to coding standards
5. Which technique is more cost-effective for detecting defects early in the software development process?
a) Inspections
b) Testing
c) Both are equally cost-effective
d) None of the above
Solution: a) Inspections
6. Inspections are mainly performed by:
a) End-users
b) Independent testers
c) The development team
d) Automated tools
Solution: c) The development team
7. Testing can be classified into various types, such as:
a) White Box, Black Box, and Grey Box Testing
b) Inspections, Walkthroughs, and Code Reviews
c) Unit Testing, Integration Testing, and System Testing
d) Load Testing, Stress Testing, and Performance Testing
Solution: c) Unit Testing, Integration Testing, and System Testing
8. Which technique requires the execution of the software?
a) Inspections
b) Peer Reviews
c) Static Analysis
d) Testing
Solution: d) Testing
9. The main difference between inspections and testing lies in their:
a) Purpose
b) Scope
c) Timing
d) All of the above
Solution: d) All of the above
10. Inspections are particularly effective in finding defects related to:
a) Performance
b) Integration
c) Code logic and syntax
d) User interface design
Solution: c) Code logic and syntax
Subjective Short Notes
Midterm & Finalterm Prepration
Past papers included
Download PDF
1. What is the main purpose of software inspections, and how do they differ from testing?
Answer: Software inspections aim to detect defects early by manually reviewing code or documents. They are static techniques. In contrast, testing involves executing the software to validate its functionality and is a dynamic technique.
2. How do inspections and testing complement each other in ensuring software quality?
Answer: Inspections focus on prevention by finding defects early, while testing focuses on detection by validating functionality. Both techniques work together to deliver high-quality software, identifying issues before and after code execution.
3. When is it most appropriate to perform software inspections, and what benefits do they offer?
Answer: Software inspections are best conducted during early development stages. They offer benefits like early defect detection, reduced development costs, improved code quality, and knowledge sharing among team members.
4. What are the main types of testing, and how do they differ from inspections in terms of execution?
Answer: The main testing types include unit testing, integration testing, and system testing. Testing is executed dynamically, while inspections are performed statically by manual code or document reviews.
5. Describe the roles of different stakeholders in software inspections and testing.
Answer: In inspections, developers participate as authors of the code being reviewed, while peers and team leads act as inspectors. In testing, developers write test cases, testers execute them, and users provide feedback.
6. How do inspections and testing contribute to improving software maintainability?
Answer: Inspections catch defects early, making code easier to maintain. Testing ensures that changes or refactoring do not introduce new defects, supporting long-term maintainability.
7. What are the key challenges faced during inspections and testing, and how can they be addressed?
Answer: Challenges include resource allocation, time constraints, and test environment setup. Address them by allocating sufficient resources, planning inspections early, and automating testing processes.
8. How do inspections and testing contribute to reducing software defects in the production environment?
Answer: Inspections catch defects early, preventing them from reaching production. Testing validates the software before deployment, reducing the likelihood of defects in the production environment.
9. Can inspections and testing be used in conjunction with agile development methodologies?
Answer: Yes, both inspections and testing can be integrated into agile practices. Inspections can be conducted during sprint reviews, and automated testing can be part of continuous integration in agile development.
10. Explain the difference between formal inspections and informal reviews in terms of rigor and documentation.
Answer: Formal inspections follow strict processes and documentation standards, often involving a formal inspection team. Informal reviews are less structured and may involve ad hoc discussions and informal peer reviews.